<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Language" content="en-us">
  <meta http-equiv="Content-Type"
 content="text/html; charset=windows-1252">
  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  <meta name="ProgId" content="FrontPage.Editor.Document">
  <title>Fix Pass</title>
</head>
<body>
<h1>Test Pass One: JDT-UI, JDT Text, Platform Compare, Platform Text, and Platform 
  Search</h1>
<h3>Goal</h3>
<ul>
  <li><font color="#000000">test corner cases</font></li>
  <li>test setups which we typically don't use during development (for example 
    no Plug-in developement)<font color="#000000"></font></li>
  <li><font color="#000000">handling of error situations</font> 
    <ul>
      <li><font color="#000000">watch log</font></li>
      <li><font color="#000000">error messages</font></li>
    </ul></li></ul><h3>General Items (everybody)</h3>
<ul>
  <li>Whenever you have to fill in data in dialogs try to foul the dialog by providing 
    incomplete or bogus input</li>
  <li>Watch for view updating (package explorer, browsing perspective, outliner) 
    when source content gets changed</li>
</ul>
<h3>Use of different fonts (everybody)</h3>
<ul>
  <li>change font for text editor and dialogs to different font</li>
  <li>check that dialogs are rendered correctly 
    <ul>
      <li>specified dialog font is used</li>
      <li>no buttons and labels clipped</li>
    </ul>
  </li>
</ul>
<h3>Test Multiple Monitor setup (Martin)</h3>
<ul>
  <li>detached views</li>
  <li>dialogs pop up on correct monitor</li>
</ul>
<h3>Workspace Setup</h3>
<p>Setup workspace in a way unusual compared to your normal setup. Testing should 
  take place in one of the following workspace setups. When setting up the workspace 
  test also the functionality to setup this workspace style:</p>
<ul>
  <li>use external projects (Kai &amp; Andre)</li>
  <li>use linked resources 
    (Markus)<ul>
      <li><font color="#000000">linked output folders</font></li>
      <li><font color="#000000">linked source folders</font></li>
      <li><font color="#000000">linked and nested source folders</font></li>
      <li>test rendering in views<font color="#000000"></font></li>
      <li><font color="#000000">linked class folders</font></li>
    </ul>
  </li>
  <li>use multiple output folder (Christof)</li>
  <li>use combination of exclusion &amp; inclustion filters (Martin)</li>
  <li>use user defined library containers (JUnit as a user defined library)
	(Dirk)<ul>
		<li>quick fixes for unbound user libraries</li>
		<li>quick fixes for build path problems</li>
	</ul>
	</li>
	<li>full source workspace (Danny)</li>
</ul>
<h3>Java Editor in Single Method mode (Martin, Andre, Kai, Erich, Markus)</h3>
<ul>
  <li>half of the team should test with editor in single edit mode</li>
  <li>corner case
    <ul>
      <li>segmented mode, formatting, un/redo</li>
    </ul>
  </li>
</ul>
<h3>Multiple Windows (Kai, Erich, Markus, Danny, Dirk)</h3>
<ul>
  <li>half of the team tests with multiple windows.</li>
  <li>switch between windows for different actions</li>
  <li>watch for wrong window poping to front</li>
  <li>watch for wrong dialog parenting</li>
</ul>
<h3>Multiple Editor Areas (Tom, Markus, Andre, Erich)</h3>
<ul>
  <li> test with multiple editor areas, i.e. multiple editor tab folders</li>
  <li> watch for focus problems</li>
  <li> watch for positioning problems when opening dialogs and info pops</li>
</ul>
<h3>Browsing perspective (Martin, Kai, Tom, Dirk)</h3>
<ul>
  <li>half of the team tests in browsing perspective</li>
</ul>
<h3>Automatic workspace refresh (Andre, Markus, Christof, Dirk)</h3>
<ul>
  <li>half of the team tests wth automatic workspace refresh enabled (Preferences-&gt;Workbench-&gt;Refresh 
    workspace automatically</li>
</ul>
<h3>Accessability Testing (Tom, Markus)</h3>
<ul>
  <li>verify mnemonics in wizards/dialogs/menus</li>
  <li>initial focus in dialogs</li>
  <li>combination of color, form, and text. </li>
  <li>status line information</li>
</ul>
<h3>Hierarchical Layout in Package Explorer and Packages View (Martin, Kai)</h3>
<ul>
  <li>test add and delete of package<font color="#000000"></font></li>
  <li>test add and remove of compilation units to empty leaf and non leaf packages<font color="#000000"></font></li>
  <li>test filters which filter packages (empty parent package, empty package, 
    ....)</li>
  <li>test logical packages in packages view</li>
</ul>
<h3>Operations and Locked Workspace (Dirk, Christof)</h3>
<ul>
  <li>To lock the workspace use the org.eclipse.ui.examples.job plug-in from the 
    Eclipse repository</li>
  <li>Test Edit, Source and Refactoring actions when the workspace is locked</li>
  <li>Test modifying project properties (build path, compiler settings, ...) when 
    workspace is locked</li>
  <li>You should always get the blocking dialog</li>
  <li>Cancel the user action. Make sure that no OperationCancelException or other 
    exceptions appear in the log</li>
</ul>
<h3>Validate-Edit (Andre, Martin)</h3>
<ul>
  <li>Check-out code from the repository in CVS Watch/Edit mode (stores file in 
    read-only mode)</li>
  <li>Test Edit, Source and Refactoring actions on files that are read-only</li>
  <li>Check the new editor functions explicitly. Check if available the functions 
    in the default text editor. 
    <ul>
      <li>move lines</li>
      <li>copy lines on move</li>
      <li>to upper case, to lower case</li>
      <li>smart ;{</li>
      <li>add/remove block comment</li>
      <li>correct indentation</li>
      <li>toggle comment </li>
    </ul>
  </li>
  <li>Expected result: actions should complete without errors</li>
</ul>
<h3>Compilation Units not on Build Path (Danny, Christof)</h3>
<ul>
  <li>Test Edit, Source and Refactoring actions for compilation units not on the 
    build path.</li>
  <li>Test for: 
    <ul>
      <li>editors opened on repository files</li>
      <li>editors opened on Java file excluded from the build path</li>
      <li>editors opened on Java files stored in Simple projects </li>
    </ul>
  </li>
  <li>Actions should either operate without an error, not be present or present 
    a dialog that the CU is not on the build path</li>
</ul>
<h3>Formatter settings and code manipulation (Dirk, Tom)</h3>
<ul>
  <li>test quick fix, quick assist, source and refactoring actions with &quot;unusual&quot; 
    code formatter settings. 
    <ul>
      <li>different indentation</li>
      <li>use spaces instead of tabs</li>
      <li>different argument and field prefixes and suffixes</li>
    </ul>
  </li>
  <li>check if code is formatter/created according to the formatter settings</li>
</ul>
<h3>Javadoc (Kai, Markus)</h3>
<ul>
  <li>Javadoc for libraries (rt.jar) class, source folders
    <ul>
      <li>Test that Shift+F2 opens correct Javadoc</li>
      <li>Test Javadoc in archives, URL or file location</li>
    </ul>
  </li>
  <li>Generation of Javadoc (use of Export to Javadoc)</li>
</ul>
<h3>Packages Explorer (Martin, Andre)</h3>
<ul>
  <li> Rendering of Plug-in class path container 
    <ul>
      <li>when resolved required projects are in workspace</li>
      <li>when resolved required projects are external</li>
      <li><font color="#000000">test goto action on resolved entries</font></li>
    </ul>
  </li>
</ul>
<h3>Refactoring (Martin, Andre)</h3>
<ul>
  <li>Test refactoring undo/redo
    <ul>
      <li>perform undo/redo with unsaved files not affected by the undo</li>
      <li>perform undo/redo with unsaved files effected by the undo.</li>
      <li>perform build after refactoring and ensure that undo is still possible.</li>
      <li>test executing multiple refactorings and then the corresponding undo/redo 
        sequence</li>
      <li>change Java element (e.g save file): ensure that undo stack gets flushed.</li>
	</ul>
  </li>
	<li>Sanity check
	<ul>
		<li>Introduce Paramter, Introduce Factory, Generalize Type refactorings</li>
		<li>Move of public static final fields between classes and interfaces and  static inner types between classes </li>
		<li>Excpetion support in change method signature refactoring</li>
	</ul>
	</li>
</ul>
<h3>Search (Danny, Martin)</h3>
<ul>
  <li>Removing selected matches from the tree view: make sure the correct items 
    are removed.</li>
  <li>Navigation (previous, next) in the tree view: cases where we have matches 
    in inner nodes</li>
  <li>Match highlighting and editing/refactoring/source operations (for example 
    organize imports): make sure highlights are properly updated.</li>
  <li>Multilple background searches: test cancel and switching between multiple 
    background searches</li>
  <li>Mulit-window behaviour: switching between searches, search shows up in right 
    window</li>
  <li> Text Search/Replace behaviour 
    <ul>
      <li>Test replace, replace all in file, replace all, skip, skip file</li>
		<li>Search &amp; Replace with regular expessions</li>
		<li>Make sure changes by internal or external editing are detected before 
        replacing</li>
      <li>Editor reuse</li>
    </ul>
  </li>
  <li>test the flat layout search result layout</li>
	<li>Java Search
	<ul>
		<li>test search for local variables</li>
	</ul>
	</li>
</ul>
<h3>Task Tag (Danny, Christof)</h3>
<ul>
  <li>Set different task tags as default (Preferences-&gt;Java-&gt;Task Tag)</li>
  <li>Check if default tag is used in source and refactorings actions</li>
</ul>
<h3>JUnit (Danny, Christof)</h3>
<ul>
  <li>run a single test method</li>
  <li>run all tests inside a package</li>
</ul>
<h3>Source Actions (Danny, Christof)</h3>
<ul>
	<li>Sanity check source actions (Override/Implements, Generate getter/setter, Generate Delegate methods, Constructor using fields, Add Constructor from Superclass and Add Javadoc comment)</li>
	<li>check code generation insertion point (where available)</li>
	<li>Javadoc generation for new method</li>
	<li>Visibility control for new methods</li>
	<li>Sort Members actions: check sorting members within a category by visibility</li>
</ul>
<h3>Compare (Dirk, Kai)</h3>
<ul>
  <li>exercise &quot;Compare with Each Other&quot; on files with different encodings</li>
  <li>exercise &quot;Compare with Each Other&quot; and new Progress Services: 
    compare large folder hierarchies containing large files with lots of differences</li>
</ul>
<h3><font color="#000000">Workspace compatibility (Christof, Dirk)</font></h3>
<ul>
	<li>upgrade a 2.1 workspace to 3.0</li>
</ul>

<h3>Additional text items </h3>
<h4>Preferences (Markus, Tom)</h4>
<ul>
  <li> check all preference settings for the default text editor</li>
  <li> check all preference settings for the java editor</li>
  <li> check inheritenance of perferences</li>
</ul>
<h4>New editor functionality</h4>
<p>Sanity check new editor functionality. Where available in the default text 
  editor.</p>
<h5>Block 1 (Danny, Andre)</h5>
<ul>
  <li>move lines</li>
  <li>copy lines on move</li>
  <li>to upper case, to lower case</li>
  <li>smart ;{</li>
  <li>add/remove block comment</li>
  <li>correct indentation</li>
  <li>toggle comment</li>
  <li>camel case navigation</li>
  <li>smart home/end</li>
  <li>typing modes</li>
  <li>caret width</li>
  <li>linked mode improvements and customization</li>
  <li>go to next/previous annotation (configurable)</li>
  <li>incremental content assist</li>
  <li>roll over hovers</li>
  <li>italic syntax highlighting</li>
  <li>background highlighting for annotations</li>
  <li>control visibility of annotations in the vertical ruler</li>
  <li>override indicators</li>
  <li>mark occurrences</li>
</ul>
<h5>Block 2 (Dirk, Kai)</h5>
<ul>
  <li>quick diff</li>
  <li>semantic syntax highlighting</li>
  <li>Java doc formatting</li>
  <li>format element</li>
  <li>quick outline 
    <ul>
      <li>inherited members</li>
      <li>resize shell</li>
      <li>move shell</li>
      <li>filters, top level element</li>
    </ul>
  </li>
  <li>Find/Replace 
    <ul>
      <li>content assist</li>
      <li>regex</li>
    </ul>
  </li>
  <li>templates 
    <ul>
      <li>create/edit/remove templates</li>
      <li>restore templates to default</li>
    </ul>
  </li>
</ul>
<h5>Block 3 (Erich, Markus)</h5>
<ul>
  <li> Folding 
    <ul>
      <li>preference settings</li>
      <li>initial folding</li>
      <li>interaction (auto expansion) with actions such as 
        <ul>
          <li>incremental find</li>
          <li>find/replace</li>
          <li>format element</li>
          <li>format</li>
          <li>un/redo</li>
          <li>correct indentation</li>
          <li>shift right/left</li>
        </ul>
      </li>
      <li>corner cases
        <ul>
          <li> folding, formatting, un/redo</li>
          <li> switching between segmented mode and folding</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>
<h4>New functionality (Andre, Tom)</h4>
<p>Sanity check new functionality.</p>
<ul>
  <li>Javadoc view</li>
  <li>Declarations view</li>
  <li>open external files</li>
</ul>
<h4>File buffers with annotation model suport (Kai, Martin)</h4>
<ul>
  <li>files open in multiple, different editors, check hot updating of content 
    and annotations</li>
  <li>refactor/format files not open in editor, checking the update of markers 
    and search results</li>
  <li>encoding scenarios 
    <ul>
      <li>set and change explicit encoding</li>
      <li>work with content/parent derrived encoding</li>
      <li>corner case: test for workspace and external files</li>
    </ul>
  </li>
</ul>
<h4>Memory scenarios (Erich, Christof, Danny)</h4>
<ul>
  <li> Replace all 'e' by xxx in a larger file in the default editor and Java 
    editor</li>
  <li> Shift all lines to the right in a larger file in the default and the Java 
    editor</li>
  <li> Comment all lines in a larger file in the Java editor</li>
</ul>
</body>
</html>
